package com.sky.JULLog;

import java.io.IOException;
import java.io.InputStream;
import java.util.logging.LogManager;
import java.util.logging.Logger;

/**
 * @author : wushikai
 * <p>
 * date : 2022-05-18
 */
public class MyJulLogger {


    static {


        LogManager logManager = LogManager.getLogManager();   //  创建logManager,logManager是单例模式,因此不能new,去获取即可

        // 通过LogManager加载配置文件,会完成Logger的初始化,即将配置文件中的Logger(包括顶级Logger和我们自定义的Logger)添加到LogManager中,保存在HashTable中(即map集合).
        InputStream inputStream = MyJulLogger.class.getClassLoader().getResourceAsStream("JUL.properties");


        // inputStream.available()这个方法，本地的文件可以直接知道文件的大小，但是如果是网络中的数据，这个方法最好不要用，因为传输的时候不是连续的，数据的大小会读取不准。
        try {
            if ((inputStream != null ? inputStream.available() : 0) !=0){
                logManager.readConfiguration(inputStream);
            }else{
                System.out.println("无法读取配置文件......");
            }

        } catch (IOException e) {
            e.printStackTrace();
        }


    }


    public static Logger getLogger(Class c) {

        return  Logger.getLogger(c.getName());
    }



    public static Logger getLogger(String classname) {

        return  Logger.getLogger(classname);

    }
}
